package controle;

import java.awt.Color;
import java.io.IOException;
import java.util.StringTokenizer;
import java.util.Vector;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.commons.beanutils.BeanUtils;

import smile.Network;
import teste.SmileApp;

import modelo.Atividade;



import dataBase.AtividadeBD;


public class AtividadeList extends HttpServlet {
    public void init(ServletConfig config) throws ServletException {
	super.init(config);
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	executeServlet(request, response);
    }

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	executeServlet(request, response);
    }

    public void executeServlet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    	
	response.setContentType("text/html");
	HttpSession session = request.getSession(true);

	    Atividade atividade = new Atividade();
	    AtividadeBD processBD = new AtividadeBD();

	    Vector atividades = null;

	    int event = 0;
	    

	    try {
		event = Integer.parseInt(request.getParameter("event"));
	    } catch (Exception e) {
		event = 1;
	    }

	    switch (event) {
	    case 2:
	    	try {
	    		
	    			BeanUtils.populate(atividade, request.getParameterMap());
					//filmes = processBD.findBy(atividade);
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
	    	break;
	    	
	    case 5:
			String message = "";
			
			break;
			
	    case 6:
	    	
	    	String atividadeId = request.getParameter("bn");
	    	
	    		
	    	System.out.println(atividadeId);
	    	
	    	
	    	StringTokenizer ati =new StringTokenizer(atividadeId);

	    	Network net = new Network();
	    	
	    	while (ati.hasMoreTokens()) {
	            
	       
	            	long id;
	            	id=new Long(ati.nextToken(";")).longValue();
					try {
						atividade=processBD.findByPk(id);
					} catch (Exception e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					// TODO Auto-generated catch block

				net.addNode(Network.NodeType.Cpt, atividade.getAtividade().replace(" ", "_"));
				
				
				
	        }

	    	net.writeFile("c:\\tutorial_a.xdsl");
//	    	
	    	
				    	
	    	
	    	
	    	
			break;	
	    	
	    default:
	    	try {
					atividades = processBD.findAll();
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			break;
	    }
	    try {
			atividades = processBD.findAll();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	    request.setAttribute("atividades", atividades);

	    getServletContext().getRequestDispatcher("/atividadeList.jsp").forward(request, response);

	

    }

}
